home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 1 Issue 2
/
PDCD-1 - Issue 02.iso
/
_utilities
/
utilities
/
003
/
_mask
/
!MaskUtils
/
!Splitter
/
!RunImage
(
.txt
)
< prev
next >
Wrap
RISC OS BBC BASIC V Source
|
1993-09-11
|
3KB
|
128 lines
Version 1.01
"Hourglass_Off":
SIZE=128*1024:FL%=
B SIZE
"Please enter the filename of the clear file"
FL%=
"OS_File",5,C$
U%,,F%,,L%:F%=(F% >>8)
U%<>1
"File not found":FL%=
F%<>&690
"Not a clear file":FL%=
FL%=
H=SIZE:
L%<H
H=L%
"OS_GBPB",4,CH%,B,H
(C$) +1:
T%-=1:
C$,T%,1)="."
T%=0
C$,T%,1)=":"
FileName$=
C$,T%+1)
T%=B:
?T%<>0 T%+=1:
:M=T%
Xm=M!5:Ym=M!9:BPP=M!13 /8
BPP<=1
D=M+17+3*(2^M!13)
D=M+17
"INPUT FILE:"
"Name:";C$
"Size:";L%;" bytes"
"X:";Xm;" pixels"
"Y:";Ym;" pixels"
40,0)"OUTPUT FILE:"
40,1)"Name:";C$+"+"
40,2)"Size:";L%;" bytes"
40,3)"X:";Xm;" pixels"
40,4)"Y:";Ym;" pixels"
"Please select the area to be saved"
$ S=.75
0,0,Xm*S,Ym*S:
X0,Y0,B0:
B0>0
X0<Xm*S
Y0<Ym*S:X=X0:Y=Y0
Xold=X0:Yold=Y0:
X,Y,0,0
X,Y,B0
X>=Xm*S
X=Xm*S
Y>=Ym*S
Y=Ym*S
X<>Xold
Y<>Yold
X0,Y0,Xold-X0,Yold-Y0:
X0,Y0,X-X0,Y-Y0:Xold=X:Yold=Y:
B0=0
"PRESS RETURN OR SPACE TO SAVE or another key to try again"
B$=" "
"Filename:";D$
D$=""
(FileName$)=10
"Please enter a filename:";D$
D$=""
D$=C$+"+"
"OS_File",5,D$
U%,,F%,,L%:F%=(F% >>8)
U%=2
D$;" is a directory, saving aborted":
U%=1
F%<>&690
7F
"File already exists with type &";~F%;" Are you sure? (Y/N)"
86 A$=
A$<>"Y"
A$<>"y"
"Saving aborted":
9
(D$):C%=
;/X0%=X0/S:Y0%=Ym-1-Y0/S:X1%=X/S:Y1%=Ym-1-Y/S
Y0%<0
Y0%=0
Y1%<0
Y1%=0
X0%>Xm-1
X0%=Xm-1
X1%>Xm-1
X1%=Xm-1
X0%>X1%
X0%,X1%
Y0%>Y1%
Y0%,Y1%
B+X%=X1%-X0%+1:Y%=Y1%-Y0%+1:M!5=X%:M!9=Y%
"Hourglass_On"
"OS_GBPB",2,D%,B,D-B:L=0
B%=Y0%
Y1%:
"Hourglass_Percentage",(B%-Y0%)/(Y1%-Y0%)*100
"OS_GBPB",3,C%,B+X%*BPP*L,X%*BPP,D-B+BPP*(B%*Xm+X0%):L+=1
(L+1)*BPP*X%>SIZE
writeoutbuffer
writeoutbuffer
"Hourglass_Off"
"SetType "+D$+" 690"
writeoutbuffer
L=0
"OS_GBPB",2,D%,B,X%*BPP*L
W/X0%=X0/S:Y0%=Ym-1-Y0/S:X1%=X/S:Y1%=Ym-1-Y/S
Y0%<0
Y0%=0
Y1%<0
Y1%=0
X0%>Xm-1
X0%=Xm-1
X1%>Xm-1
X1%=Xm-1
X0%>X1%
X0%,X1%
Y0%>Y1%
Y0%,Y1%
X%=X1%-X0%+1:Y%=Y1%-Y0%+1
40,2)"Size:";D-B+BPP*X%*Y%;" bytes "
40,3)"X:";X%;" pixels "
40,4)"Y:";Y%;" pixels "